package com.example.tests;

import org.testng.annotations.Test;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.hamcrest.Matchers.*;
import com.example.utils.ListOf;


public class ContactCompareTests extends TestBase {
	
	  @Test
	  public void testCompareContact() {
		  
		// Список контактов на главной странице
		ListOf<String> maintableList = app.getContactHelper().getContactMaintable();
		// Список контактов на странице print phones
		ListOf<String> printphonesList = app.getContactHelper().getContactPrintphones();
		
		// Сравниваем размеры списков		
		assertThat(printphonesList.size(), equalTo(maintableList.size()));
		
		// Сравниваем сами списки
		assertThat(printphonesList, equalTo(maintableList));
		
		/* первоначально было задание сравнить поледовательность следования элементов... Я попробовала реализоать вот так:
		 * ХОТЯ может это лишнее и проверка выше делает тоже самое?
		 */	
		assertTrue(app.getContactHelper().compareContacts(printphonesList, maintableList));		
		
		/* С этой странице нет ссылок на остальные, поэтому делаю обязательный возврат на главную страницу
		 * Это просто необходимо только на этой странице, поэтому я не стала делать в этом тесте "автоматический переход" на нужную страницу
		 * Да и Алексей в скайпе говорил что можно оставить так.
		 *  
		 */
		app.navigateTo().openMainPage();
	  }

}
